function debounce(callback, time) {
    // 定时器变量
    let timed = null
    // 返回一个函数
    return function(e) {

        if(timed !== null) {
            // 如果定时器存在，则清除定时器
            clearTimeout(timed)
        }

        // 启动定时器
        timed = setTimeout(() => {
            callback.call(this, e)
            // 重置定时器变量
            timed = null
        }, time)
    }
}